Option Returns





Kerry Back

Option Data from Yahoo

import yfinance as yf
tick = yf.Ticker('aapl')
  • tick.options is the set of traded maturities
  • tick.option_chain(“some date”) is an object containing call and put data
  • tick.option_chain(“some date”).calls is a dataframe of call info
  • tick.option_chain(“some date”).puts is a dataframe of put info

Apple stock price on Feb 2, 2023

tick.history().iloc[-1]
Open            1.489000e+02
High            1.511800e+02
Low             1.481700e+02
Close           1.508200e+02
Volume          1.168686e+08
Dividends       0.000000e+00
Stock Splits    0.000000e+00
Name: 2023-02-02 00:00:00-05:00, dtype: float64

Apple calls on Feb 2, 2023

df = tick.option_chain("2023-03-17").calls
df = df.set_index("strike")
df.iloc[:,2:5].loc[130:170]

lastPrice bid ask
strike
130.0 21.34 0.0 0.0
135.0 17.40 0.0 0.0
140.0 13.50 0.0 0.0
145.0 9.95 0.0 0.0
150.0 6.80 0.0 0.0
155.0 4.40 0.0 0.0
160.0 2.64 0.0 0.0
165.0 1.50 0.0 0.0
170.0 0.88 0.0 0.0

Possible returns

Suppose we bought the 140 (in the money) call for $13.50 or the 160 )out of the money) call for $2.64.

  • Suppose Apple \(\uparrow\) 10% between Feb 2 and Mar 17: $150.82 \(\rightarrow\) $165.90
    • $140 call: $13.50 \(\rightarrow\) $25.90 = 92% return
    • $160 call: $2.64 \(\rightarrow\) $5.90 = 123% return
  • Suppose Apple stays at $150.82
    • $140 call: $13.50 \(\rightarrow\) $10.82 = 20% loss
    • call: $2.64 \(\rightarrow\) 0 = 100% loss

Apple puts on Feb 2, 2023

df = tick.option_chain("2023-03-17").puts
df = df.set_index("strike")
df.iloc[:,2:5].loc[130:170]

lastPrice bid ask
strike
130.0 0.84 0.0 0.0
135.0 1.36 0.0 0.0
140.0 2.25 0.0 0.0
145.0 3.60 0.0 0.0
150.0 5.67 0.0 0.0
155.0 8.48 0.0 0.0
160.0 11.50 0.0 0.0
165.0 16.53 0.0 0.0
170.0 21.00 0.0 0.0

Possible returns

Suppose we bought the 140 put for $2.25.

  • Suppose Apple \(\down\) 10% between Feb 2 and Mar 17.
    • $150.82 \(\rightarrow\) $135.74
    • put: $2.25 \(\rightarrow\) $4.26 = 89% return
  • Suppose Apple stays at $150.82
    • put: $2.25 \(\rightarrow\) 0 = -100% return